From 54600e38ff6c9e9b762bea09928dc3d290b33498 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Mon, 14 Nov 2022 02:44:55 -0600 Subject: fix voucher redemption --- .../(app)/voucher/[redeemcode]/+page.server.js | 23 ++++++++ src/routes/(app)/voucher/[redeemcode]/+page.svelte | 62 ++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 src/routes/(app)/voucher/[redeemcode]/+page.server.js create mode 100644 src/routes/(app)/voucher/[redeemcode]/+page.svelte (limited to 'src/routes/(app)/voucher/[redeemcode]') diff --git a/src/routes/(app)/voucher/[redeemcode]/+page.server.js b/src/routes/(app)/voucher/[redeemcode]/+page.server.js new file mode 100644 index 00000000..22959e4d --- /dev/null +++ b/src/routes/(app)/voucher/[redeemcode]/+page.server.js @@ -0,0 +1,23 @@ +import { error, redirect } from '@sveltejs/kit'; +import { auth, get, post } from '$lib/utils'; +import Qr from 'qrcode-base64'; + +export let load = async ({ params: { redeemcode }, url }) => { + let payment = await get(`/payment/${redeemcode}`); + + let src = Qr.drawImg(url.href, { size: 300 }); + return { payment, src }; +}; + +export const actions = { + default: async ({ cookies, locals, params, request }) => { + let { user } = locals; + + if (user) { + await post('/redeem', params, auth(cookies)); + throw redirect(307, `/${user.username}/transactions`); + } + + throw redirect(307, '/login'); + } +}; diff --git a/src/routes/(app)/voucher/[redeemcode]/+page.svelte b/src/routes/(app)/voucher/[redeemcode]/+page.svelte new file mode 100644 index 00000000..cfc6c8a8 --- /dev/null +++ b/src/routes/(app)/voucher/[redeemcode]/+page.svelte @@ -0,0 +1,62 @@ + + +
+
+ + + +
+ +
+
+

Voucher

+ + copy(redeemcode)} + alt="Redeem Code" + /> +
+

+ {f(amountFiat, currency)} +

+

+ {sat(amount)} +

+
+
+
($loginRedirect = `/redeem/${redeemcode}`)} + > + +
+
+
+
+
-- cgit v1.2.3